// components/test2/test2.js
Component({

  options: {
    // isolated: 表示启用样式隔离，在自定义组件内外，使用 class 指定的样式将不会相互影响
    styleIsolation: 'isolated'
  },

  /**
   * 组件的属性列表, 更倾向于存储外界传递到组件中的数据
   */
  properties: {
    max: {
      type: Number,
      value: 10
    },
    // max: Number // 简化定义属性的方式

  },

  /**
   * 组件的初始数据, 更倾向于存储组件的私有数据
   */
  data: {
    count: 0,
    n1: 0,
    n2: 0,
    sum: 0 // 数据节点

  },

  /**
   * 组件的方法列表
   */
  methods: { // 组件的方法列表【包含事件处理函数和自定义方法】
    addCount() {
      if (this.data.count >= this.properties.max) return 
      this.setData({count: this.data.count + 1})
      this._showCount() // 通过this直接调用自定义方法
    },
    setCount() {
      this.setData({max: this.properties.max + 1})
    },
    _showCount() { //自定义方法建议以_开头
      wx.showToast({
        title: 'count值为：' + this.data.count,
        icon: 'none'
      })
    },
    showInfo() {
      console.log(this.data);
      console.log(this.properties);
      console.log(this.data === this.properties);
    },
    addN1() {this.setData({n1: this.data.n1 + 1})},
    addN2() {this.setData({n2: this.data.n2 + 1})}

  },
  
  observers: { // 数据监听节点
    'n1, n2' : function (n1, n2) {
      this.setData({sum: n1 + n2})
    }
  }
})